<template>
    <view>
        <slot></slot>
    </view>
</template>

<script>
/**
 * SwipeAction 滑动操作
 * @description 通过滑动触发选项的容器
 * @tutorial https://ext.dcloud.net.cn/plugin?id=181
 */
export default {
    name: "UniSwipeAction",
    data() {
        return {};
    },
    created() {
        this.children = [];
    },
    methods: {
        // 公开给用户使用，重制组件样式
        resize() {
            // wxs 会自己计算组件大小，所以无需执行下面代码
            // #ifndef APP-VUE || H5 || MP-WEIXIN
            this.children.forEach((vm) => {
                vm.init();
            });
            // #endif
        },
        // 公开给用户使用，关闭全部 已经打开的组件
        closeAll() {
            this.children.forEach((vm) => {
                // #ifdef APP-VUE || H5 || MP-WEIXIN
                vm.is_show = "none";
                // #endif

                // #ifndef APP-VUE || H5 || MP-WEIXIN
                vm.close();
                // #endif
            });
        },
        closeOther(vm) {
            if (this.openItem && this.openItem !== vm) {
                // #ifdef APP-VUE || H5 || MP-WEIXIN
                this.openItem.is_show = "none";
                // #endif

                // #ifndef APP-VUE || H5 || MP-WEIXIN
                this.openItem.close();
                // #endif
            }
            // 记录上一个打开的 swipe-action-item ,用于 auto-close
            this.openItem = vm;
        }
    }
};
</script>

<style></style>
